The present invention relates to an Internet protocol (IP) network coupling method, a translator for IP networks, and a network system using the is translator which are intended to couple a first class IP network in which a plurality of devices of interest are assigned IP addresses of a first class so as to prevent the assignment of the same IP address to different devices and a second class IP network in which a plurality of devices of interest are assigned IP addresses of a second class so as to prevent the assignment of the same IP address to different devices.
The protocol most widely known at present as a protocol for network layers used in the TCP/IP communication is the internet protocol (IP). The IP functions to provide an addressing service for specifying a destination to be communicated with among a large number of nodes connected to a network, and so on, which are the same services provided by the third layer of OSI (Open Systems Interconnection) reference model. Currently, the IP of version 4 (hereinafter called “IPv4”) is commonly used. The IPv4 specification is disclosed in “INTERNET PROTOCOL; DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION”, Information Science Institute University of Southern California, September, 1981. A format defined for a header used in the IPv4 (hereinafter called “IPv4 header”) is as shown in FIG. 11B.
In the IPv4 header, a “version” field stores the version number, i.e., “4”. A “header length” field stores the length of the IPv4 header itself. A “service type” field stores information indicative of a service quality of communication processing. A “packet length” field stores the size of an entire packet which to includes a data block treated by the IP and the IPv4 header. Information directed down from an upper layer is treated as a single data block in the IP, and the data block is appended with an IPv4 header in the IP and then sent to a lower layer.
Conversely, an IPv4 header included in a packet sent from a lower layer is analyzed by the IP, and a data portion of the packet is sent up to an upper layer depending on the analysis results. An “identifier” field stores an identifier used as reference information when data is passed to an upper layer. A “flag” field stores control information associated with fragmentation of a packet. A “fragment offset” field stores information indicating where fragmented data (fragment) has been positioned in original data. A “time to live” field stores a time during which an associated packet is allowed to exist in a network. A “protocol” field stores information indicating which protocol an upper layer employs. A “header checksum” field stores a checksum for the IP header. A “source IP address” field stores the IP address of a source. A “destination IP address” field stores the IP address of a destination. The IP addresses are assigned to respective nodes connected to a network, and are set respectively to unique values in the network.
While the IP having the specification as mentioned above is currently spreading rapidly over a variety of communication services together with the increasing popularization of the internet, the IP is confronted with a grave problem of an exhausted supply of IP addresses.
As countermeasures for solving this problem, the IP of version 6 (hereinafter called “IPv6”) has been proposed at present. The IPv6 specification is disclosed in S. Deering “INTERNET PROTOCOL: Version 6 (IPv6)”, Xerox, PARC, December 1981.
A format defined for a header used in the IPv6 (hereinafter called “IPv6 header”) is as shown in FIG. 11A. In the IPv6 header, a “version” field stores the version number, i.e., “6”. A “priority” field stores the priority of processing executed by a router in a network for relaying a packet. A “flow label” field is used to store an identifier for performing a priority control or the like. A “payload length” field stores the length of a data portion calculated by subtracting an IPv6 header portion from a packet. A “next header identifier” field stores an identifier for identifying which header of upper layer protocol, or which IPv6 extended header follows the IPv6 header. A “hop limit” field stores a maximum number of times of transfers for an associated packet. A “source IP address” field stores the IP address of a source, and a “destination IP address” field stores the IP address of a destination. Additionally, in the IPv6 header, the “source IP address” field and the “destination IP address” field are respectively extended from 32 bits to 128 bits. The extended address fields enable an increased number of nodes to be connected to a network.
Although the IPv6 has extended fields for storing the IP addresses, additional modifications partially added to the header and associated processing give rise to another problem that the IPv6 is not compatible with the existing IPv4.
From now on, the IPv6 will be implemented as the network protocol in nodes newly connected to a network, so that addresses conforming to the IPv6 will be assigned to these nodes as their network addresses. However, since simultaneous replacement of the previous network protocol with the IPv6 in all existing nodes is actually impossible, it is anticipated that to coexistence of IPv4 nodes and IPv6 nodes will last for a long time. In addition, a portion of existing nodes (particularly peripherals), for which the replacement of the protocol is difficult, will continue to use the IPv4 as before.
It is therefore anticipated that nodes having the IPv6 implemented therein (IPv6 nodes) and nodes having the IPv4 implemented therein (IPv4 nodes) will co-exist in a single network in the future.
However, since the IPv6 and the IPv4 employ different header formats and so on from each other, IPv6 nodes and IPv4 nodes cannot be simply coupled.
As a solution for this problem, a connecting method using a translator has been proposed, for example, as illustrated in FIG. 13.
Referring specifically to FIG. 13, an IPv6 network 52 to which an IPv6 node (IPv6 host) 10 is connected and an IPv4 network 54 to which an IPv4 node (IPv4 host) 20 is connected are mutually connected through a translator 30. The IPv4 host 20 is designated an address uniquely assigned in the IPv4 network 54 (hereinafter called “IPv4 address”), while the IPv6 host 10 is designated both of an address uniquely assigned in the IPv6 network 52 (hereinafter called “IPv6 address”) and an IPv4 address. The IPv6 host 10 represents itself with the IPv6 address when communicating with another IPv6 host (not shown) in the IPv6 network 52, and represents itself with an IPv4 address when communicating with the IPv4 host 20 in the IPv4 network 54. For example, for sending a packet from the IPv6 host 10 to the IPv4 host 20, the IPv6 host 10 stores its own IPv4 address (of the IPv6 host 10) in the “source IP address” field (see FIG. 11A) in a form as shown in FIG. 12A, and stores the IPv4 address of the destination (the IPv4 host 20) in the “destination IP address” field (see FIG. 11A) in a form as shown in FIG. 12B, when generating a header for the packet to be sent. In FIG. 12A, the lower 32 bits within the 128 bits reserved for the HIP address” field are used for storing address information with the remaining bits being set at “0”. The address represented in such a format is commonly called an “IPv4” compatible-IPv6 address”. In FIG. 12B, in turn, the lower 32 bits within the 128 bits reserved for the “IP address” field are used for storing address information, with 47th to 32nd bits being set at “1” and the remaining bits being set at “0”. The address represented in such a format is commonly called an “IPv4″-mapped-IPv6 address”. Then, the header containing predetermined information and data to be sent is forwarded to the translator 30 as a single packet.
The translator 30 translates the packet sent thereto into a packet for the IPv4 network 54. Specifically, the lower 32 bits, i.e., the IPv4 address of the IPv6 host 10 is retrieved from the foregoing IPv4-compatible-IPv6 address included in the header of the sent packet, and stored in the “source IP address field” of the IPv4 header shown in FIG. 11B. Simultaneously, the lower 32 bits, i.e., the IPv4 address of the source IPv4 host 20 are retrieved from the foregoing IPv4-mapped-IPv6 address included in the header of the sent packet, and stored in the “destination IP address” field of the IPv4 header shown in FIG. 113. Subsequently, other necessary items are set in the header, and the header is sent together with the data to be sent to the IPv4 host 20 as a single packet.
The use of the foregoing method does enable an IPv6 node to interconnect with an IPv4 node. This method, however, needs to additionally assign an IPv4 address to an IPv6 node, thus causing a contradiction. The IPv6 addresses were introduced because an available number of IPv4 addresses had been lacking as mentioned above. Thus, if the IPv6 addresses intended to overcome this problem promoted the exhaustion of the IPv4 addresses by contraries, it would be meaningless to employ the IPv6 addresses.